<?php

function MontarHeadPHP($NomeClasse, $CarregarRegistros = true, $where = "")
{
    require_once 'Entidades/EntidadeBase.php';
    require_once "Entidades/$NomeClasse.php";
    $servicoBase = new $NomeClasse();

    if (isset($_GET["Acao"]))
    {
        $acao = $_GET["Acao"];

        switch ($acao)
        {
            case "D";
                if (isset($_GET["Id"]))
                    $servicoBase->DeletarPorId($_GET["Id"]);
                break;
        }
    }
    $Entidades = $CarregarRegistros ? $servicoBase->ObterLista($where) : null;
    return $Entidades;
}

function MontarHeadScript($NomeClasse, $NomeArquivoNovo = "Cadastro", $NomeArquivoAlterar = "Cadastro", $Parametros = null)
{
    ?>
    <script>
        function Selecionar($id)
        {
            var radio = document.getElementById($id);
            radio.checked = true;
        }
                                                            
        function Novo()
        {
    <?php
    if ($Parametros == null)
    {
        ?>
                    location.href = "<?php echo $NomeClasse . $NomeArquivoNovo; ?>.php";
        <?php
    } else
    {
        ?>
                    location.href = "<?php echo $NomeClasse . $NomeArquivoNovo; ?>.php?<?php echo $Parametros; ?>";
        <?php
    }
    ?>
                                            
        }
                                                            
        function Alterar()
        {
            var radio = getRadioSelected();
            if (radio == null)
            {
                alert("Selecione um Registro para Alterar");
                return;
            }

            location.href = "<?php echo $NomeClasse . $NomeArquivoAlterar; ?>.php?Id=" + radio.id;
        }
                                                            
        function Excluir()
        {
            var radio = getRadioSelected();
            if (radio == null)
            {
                alert("Selecione um Registro para Excluir");
                return;
            }
                                                                
            var resposta = confirm("Deseja Deletar?");
            if (resposta == true)
            {
                                
    <?php
    if ($Parametros == null)
    {
        ?>
                        location.href = "<?php echo $NomeClasse; ?>Pesquisa.php?Acao=D&Id=" + radio.id;
        <?php
    } else
    {
        ?>
                        location.href = "<?php echo $NomeClasse; ?>Pesquisa.php?Acao=D&Id=" + radio.id + "&<?php echo $Parametros; ?>";
        <?php
    }
    ?>                
                                
                            
                return true;
            }
        }
                                                            
                                                            
        function getRadioSelected() 
        {
            var inputs = document.getElementsByName("RadioId");
            for (var i = 0; i < inputs.length; i++) 
            {
                if (inputs[i].checked) 
                {
                    return inputs[i];
                }
            }
            return null;
        }
    </script>
    <?php
}

function SalvarGenerico($NomeClasse, $Post, $location = null, $redirecionar = true)
{
    require_once 'Entidades/EntidadeBase.php';
    require_once "Entidades/$NomeClasse.php";
    $servico = new $NomeClasse();
    $entidade = new $NomeClasse();

    foreach (array_keys($Post) as $coluna)
    {
        $entidade->$coluna = $Post[$coluna];
    }
    $servico->Salvar($entidade);

    if ($location == null)
    {
        $location = $NomeClasse . "Pesquisa.php";
    }

    if ($redirecionar)
    {
        ?>
        <script>
            location.href = "<?php echo $location; ?>";
        </script>
        <?php
    }
    
    return $entidade;
}
?>
